/*
*所有关于Tb_Project_Templatesubject_Relationship类的业务代码接口应在此处编写
*/
using MYData.Core.Utilities;
using System.Threading.Tasks;
using MYData.Entity.DTO.ApiEntity.Input;
using System.Collections.Generic;
using MYData.Entity.DTO.ApiEntity.OutPut;

namespace MYData.System.IServices
{
    public partial interface ITb_Project_Templatesubject_RelationshipService
    {
        /// <summary>
        /// 根据模板Id获取经费模板科目
        /// </summary>
        /// <param name="fundtemplateId"></param>
        /// <returns></returns>
        Task<WebResponseContent> Get_Fundtemplate_ItemList(string fundtemplateId);
        /// <summary>
        /// 获取所有的科目模板
        /// </summary>
        /// <returns></returns>
        Task<WebResponseContent> GetFundingItemList();
        Task<WebResponseContent> GetFundingItemListAll();
        /// <summary>
        /// 添加模板科目关系表
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        Task<WebResponseContent> InsertTemplateSubjectItemsAsync(TemplateSubjectItemInput_Dto inputDto);
        /// <summary>
        /// 修改模板科目关系表
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        Task<WebResponseContent> UpdateTemplateSubjectItemsAsync(List<UpdatefundingItem_dto> inputDto);

        /// <summary>
        /// 根据模板id获取经费科目Id字符串
        /// </summary>
        /// <param name="fundtemplateId"></param>
        /// <returns></returns>
        Task<WebResponseContent> GetBudgeSubject(string fundtemplateId);
        /// <summary>
        ///  根据模板Id获取经费科目（子集不在父级身后，选中的子集在父级身后）
        /// </summary>
        /// <param name="fundtemplateId"></param>
        /// <returns></returns>
        Task<WebResponseContent> GetBudgeSubjectTemp(string fundtemplateId);
        /// <summary>
        /// 根据模板id获取其下科目
        /// </summary>
        /// <param name="fundtemplateId"></param>
        /// <returns></returns>
        List<ProjectFundingItemOutput_Dto> GetBudgeSubjectTemp2(string fundtemplateId);
    }
 }
